#pragma once

#include "Defines.hpp"

class EventHandlerConsole : public SocketEventHandler
{
public:
	EventHandlerConsole();
	virtual ~EventHandlerConsole();

	virtual void onDisposed();
	virtual void onDisconnected();
	virtual void onConnected();
	virtual void onMessage(Message& msg);

private:
	void onFromConsoleRequestStatus(Message& msg);
	void onFromConsoleSetFPS(Message& msg);
	void onFromConsolePlay(Message& msg);
	void onFromConsoleReset(Message& msg);
	void onFromConsolePause(Message& msg);
	void onFromConsoleStepForwardMS(Message& msg);
	void onFromConsoleStepForwardFrame(Message& msg);
	void onFromConsoleSkipToSpecifiedTime(Message& msg);
	void onFromConsoleServerUIDataRangeReq(Message& msg);
	
	void onFromConsoleStop(Message& msg);
	void onFromConsoleSetSpeed(Message& msg);
	void onFromConsoleSubscriMsgs(Message& msg);
	void onFromConsoleCaseRunningStatus(Message& msg);

	void onFromConsoleToAll(Message& msg);

private:
	MessageRouter mMessageRouter;
};
